package communication.game;

import server.ServerInternals;
import game.Game;
import game.ServersideGame;
import communication.ComCliSrv;

/**
 * Objet envoye au serveur pour quitter un jeu
 * @author Jonathan Gander
 * @version 0.1
 */
public class LeaveGame extends ComCliSrv {
	/**
	 * Pour la serialisation
	 */
	private static final long serialVersionUID = 1076870885509035170L;

	/**
	 * Objet contenant la partie creee
	 */
	private Game game;
	
	/**
	 * Le joueur
	 */
	private String player;
	
	/**
	 * Constructeur, permet de fixer le jeu a quitter et le pseudo du player
	 * @param game Le jeu a quitter
     * @param player Le pseudo du player qui veut quitter
	 */
	public LeaveGame(Game game, String player) {
		this.game = game;
		this.player = player;
	}

	/**
	 * @return Le jeu
	 */
	public Game getGame() {
		return game;
		
	}
	
	/**
	 * @return Le player
	 */
	public String getPlayer() {
		return player;
	}

	@Override
	public void handleServerInternals(ServerInternals internals) {
		ServersideGame ssg = internals.getGame(game.getId());
		
		ssg.removePlayer(player);
		internals.sendGameList();
		
	}
	
}
	
